package com.xuecheng.api.course;

import com.xuecheng.framework.domain.course.Teachplan;
import com.xuecheng.framework.domain.course.TeachplanMedia;
import com.xuecheng.framework.domain.course.ext.TeachplanNode;
import com.xuecheng.framework.model.response.QueryResponseResult;
import com.xuecheng.framework.model.response.ResponseResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;

/**
 * 课程计划查询接口
 */
@Api(value = "课程计划查询接口", tags = {"课程计划查询接口,提供课程的管理,查询接口"})
public interface TeachplanControllerApi {
    /**
     * 根据课程id查询课程计划
     * @param courseId 课程id
     * @return 查询出的课程
     */
    @ApiOperation(value = "根据课程id查询课程计划")
    @ApiImplicitParams(
            @ApiImplicitParam(name = "courseId", value = "课程的id", required = true, dataType = "String",paramType = "path")
    )
    TeachplanNode findTeachplanList(String courseId);

    /**
     * 添加课程计划
     * @param teachplan 课程实体类
     * @return 响应结果
     */
    @ApiOperation(value = "添加课程计划")
    ResponseResult addTeachplan(Teachplan teachplan);

    /**
     * 保存课程计划和视频关联信息
     * @param teachplanMedia 课程计划和视频关联
     * @return 结果
     */
    @ApiOperation(value = "保存课程计划和视频关联信息")
    ResponseResult saveMedia(TeachplanMedia teachplanMedia);
}
